/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: DickYang
 * Date: 2023-05-06
 * Time: 9:26
 */

//static
class Student {
    private String name;
    private int age;

    //成员变量:1,静态成员变量/类变量/类成员  2.非静态成员变量/普通成员变量
    //成员方法:1,静态成员方法/类方法  2.非静态成员方法
    //静态成员变量/方法存放在方法区,不属于对象的引用,不用通过对象的引用来访问,可以直接通过类名访问!!!
    //静态的不依赖对象!!!
    //静态成员变量的初始化:1.直接赋值  2.默认初始化  3.可以通过提供get set方法进行初始化  4.通过构造方法进行赋值(不建议!!!)  5.通过代码块进行赋值
    private static String classRoom = "小葵花一班";

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public static String getClassRoom() {
        return classRoom;
    }

    public static void setClassRoom(String classRoom) {
        Student.classRoom = classRoom;
    }

    public static void func1() {
        System.out.println("静态成员方法");
    }
    public void doClass() {
        func1();//普通成员方法可以调用静态的方法!!
        System.out.println("上课!");
    }
    public void show() {
        System.out.println(name + " " + age);
    }
}
public class TestDome2 {
    public static void main(String[] args) {
        //在静态成员方法内部不能直接调用非静态成员方法/成员变量,可通过对象的引用调用
        Student student = new Student("jkue",12);
        //静态方法里不能使用this关键字
        //静态成员方法可直接通过类名访问
        Student.func1();
    }

    public static void main1(String[] args) {
        Student student = new Student("Yang",6);
        student.show();
        Student.setClassRoom("大葵花一班");
        System.out.println(Student.getClassRoom());//静态成员变量可直接通过类名访问,如果静态成员变量被private修饰则可以通过提供的get set接口访问
    }
}
